home *** CD-ROM | disk | FTP | other *** search
- Program MaxHeadroom(Input,Output,Disk);
-
- { by Robert Kemmetmueller, but don't tell anyone, I stole the speech routines }
-
- {
- This is the Turbo Pascal include-file for the speech driver. The
- parameter S must be a character string containing valid phoneme codes:
-
- CODE SOUND (capitalized in sample word)
- ---- -----
- A mAke = m-A-k
- AE bAt = b-AE-t
- AH cAr = k-AH-r
- AW dOg = d-AW-g
- B Bat = B-ae-t
- CH CHeese = CH-ee-z
- D Dog = D-aw-g
- EE bE = b-EE
- EH bEt = b-EH-t
- F raFt = r-ae-F-t
- G Go = G-oh
- H Hive = H-i-v
- I tIme = t-I-m
- IH sIt = s-IH-t
- J Jet = J-eh-t
- K Kill = K-ih-l
- L Love = L-uh-v
- M Map = M-ae-p
- N Nab = N-ae-b
- OH gO = g-OH
- OO gOO = g-OO
- P Pat = P-ae-t
- R Rat = R-ae-t
- S Sat = S-ae-t
- SH SHe = SH-ee
- T Tap = T-ae-p
- TH THin = TH-ih-n
- TZ THis = TZ-ih-s
- U wOrd = w-U-r-d
- UH bUt = b-UH-t
- V Vat = V-ae-t
- W With = W-ih-th
- WH WHich = WH-ih-ch
- Y Yes = Y-eh-s
- Z Zap = Z-ae-p
- ZH viSion = v-ih-ZH-eh-n
- - inter-phoneme separator
- space inter-word pause
- }
-
- Type
- SpeechString= String[255];
- Screen= Array[1..24,1..80] of Integer;
- TwoScreens= Array[1..2] of Screen;
- Registers= Record
- AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Integer;
- end;
-
- Var
- Disk: File of TwoScreens;
- Scrns: TwoScreens;
- Scrn: Screen Absolute $B800:$0000;
- Regs: Registers;
- I,J: Integer;
-
- Procedure Say(S: SpeechString); External 'A:SPEECH.BIN';
-
- Procedure Scrn0;
- Begin
- Scrn:=Scrns[1];
- End;
-
- Procedure Scrn1;
- Begin
- Scrn:=Scrns[2];
- End;
-
- BEGIN
- TextMode(C80); TextColor(7); ClrScr;
- Assign(Disk,'MAX-HEAD.DAT'); Reset(Disk);
- Read(Disk,Scrns); Close(Disk);
- Scrn0; Say(' ');
- Scrn1; Say('G-r');
- Scrn0; Say('ee');
- Scrn1; Say('t-ih-n-g-z');
- Scrn0; Say(' ');
- Scrn1; Say('Tz-ih-s');
- Scrn0; Say('s ');
- Scrn1; Say('ih-z');
- Scrn0; Say(' ');
- For I:=1 to 3 do begin
- Scrn1; Say('M');
- Scrn0; Delay(50); end;
- Scrn1; Say('ae-k-s');
- Scrn0; Say(' ');
- Scrn1; Say('H-eh-d');
- Scrn0; Say('r');
- Scrn1; Say('oo-m');
- Scrn0; Say(' ');
- For I:=1 to 3 do begin
- Scrn1; Say('H-ah');
- Scrn0; Delay(50); end;
- ClrScr;
- END.